package com.poxz.mybatisplus.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.poxz.mybatisplus.model.dto.UserDTO;
import com.poxz.mybatisplus.model.entity.User;
import com.poxz.mybatisplus.model.vo.UserVO;

/**
 * 用户服务接口
 *
 * @author poxz
 */
public interface UserService extends IService<User> {

    /**
     * 根据ID查询用户
     *
     * @param id 用户ID
     * @return UserVO
     */
    UserVO getUserById(Long id);

    /**
     * 创建用户
     *
     * @param userDTO 用户信息
     * @return UserVO
     */
    UserVO createUser(UserDTO userDTO);

    /**
     * 更新用户
     *
     * @param id      用户ID
     * @param userDTO 用户信息
     * @return UserVO
     */
    UserVO updateUser(Long id, UserDTO userDTO);

    /**
     * 删除用户
     *
     * @param id 用户ID
     */
    void deleteUser(Long id);
}
